package orz.itrip.trade.service.impl;

import org.springframework.stereotype.Service;
import orz.itrip.mapper.HotelOrderMapper;
import orz.itrip.mapper.HotelTempStoreMapper;
import orz.itrip.pojo.HotelOrder;
import orz.itrip.pojo.HotelTempStore;
import orz.itrip.trade.service.GetInstanceService;
import orz.itrip.vo.PreFlushStoreVo;

import javax.annotation.Resource;
import java.util.Date;
import java.util.List;

@Service
public class GetInstanceServiceImpl implements GetInstanceService {
    @Resource
    private HotelOrderMapper hotelOrderMapper;
    @Resource
    private HotelTempStoreMapper hotelTempStoreMapper;
    @Override
    public HotelOrder getHotelOrder(String orderNo) {
        HotelOrder hotelOrder = new HotelOrder();
        hotelOrder.setOrderNo(orderNo);
        return hotelOrderMapper.selectOne(hotelOrder);
    }

    @Override
    public void updateTempStore(HotelOrder hotelOrder) {
        hotelOrderMapper.updateByPrimaryKeySelective(hotelOrder);
        PreFlushStoreVo preFlushStoreVo = new PreFlushStoreVo();
        preFlushStoreVo.setEndTime(hotelOrder.getCheckOutDate());
        preFlushStoreVo.setStartTime(hotelOrder.getCheckInDate());
        preFlushStoreVo.setHotelId1(hotelOrder.getHotelId());
        preFlushStoreVo.setRoomId1(hotelOrder.getRoomId());
        //调用存储过程
        hotelOrderMapper.selectPreFlushStore(preFlushStoreVo);
        List<HotelTempStore> hotelTempStores = hotelTempStoreMapper.selectHotelTempScore(preFlushStoreVo);
        for (HotelTempStore hts:hotelTempStores) {
            hts.setModifyDate(new Date());
            hts.setStore(hts.getStore()-hotelOrder.getCount());
            hotelTempStoreMapper.updateByPrimaryKeySelective(hts);
        }
    }
}
